perm filename TACH.F4[1,VDS] blob sn#010361 filedate 1970-11-03 generic text, type T, neo UTF8
00100	C PROGRAM  TO PLOT ENCODER PATTERNS
00200	C   REQUIRED INPUT--RADIUS-OUTSIDE RADIUS IN INCHES I.E. 14.25
00300	C    		    TICSIZE-LINE LENGTH IN INCHES I.E. 1.50
00400	C	            LINES-NUMBER OF LINES IN CIRCLE I.E. 1024
00500		REAL LINES
00600		INTEGER X1,Y1,X2,Y2,TICS,Z,REF,NUMTIC,KEY,N,SPACE,ILINES
00700		PI=3.1415926535
00800		CALL PLOTS(Z)
00900		IF(Z.EQ.0) GO TO 1
01000		PAUSE 'PLOTTER...OK? '
01100	1	TYPE 9
01200		ACCEPT 16, KEY
01300		SPACE= -1
01400		IF (KEY) 4,6,6
01500	6	TYPE 10
01600		ACCEPT 15, RAD
01700		TYPE 11
01800		ACCEPT 15, TICSIZ
01900		TYPE 12
02000		ACCEPT 15, LINES
02100		N=1
02200		RESO= (1000*2*PI)/LINES
02300		TICS = LINES
02400		IF (KEY) 4,7,8
02500	7	TYPE 14
02600		ACCEPT 16, NUMTIC
02700		TYPE 17
02800		ACCEPT 16, SPACE
02900		TICS=NUMTIC
03000	C   GENERATE ORIGIN
03100	8	CALL PLOT(-.5,0,3)
03200		CALL PLOT(.5,0,2)
03300		CALL PLOT(0,-.5,3)
03400		CALL PLOT(0,.5,2)
03500		IF (KEY) 4,13,5
03600	C   MAKE REFERENCE MARK AND FIRST LINE
03700	5	REF=( RAD-(2.0*TICSIZ))*200
03800		CALL PLOT(REF,0,3)
03900		CALL PLOT(RAD,0,2)
04000	C   GENERATE AND PLOT TACH LINES
04100	20	CONTINUE
04200		DO 3 I=N,(TICS-1)
04300		ANG=I*RESO/1000
04400		CS= COS(ANG)
04500		SN= SIN(ANG)
04600		X1= (RAD-TICSIZ)*CS*200
04700		Y1= (RAD-TICSIZ)*SN*200
04800		X2= RAD*CS*200
04900		Y2= RAD*SN*200
05000		CALL PLOT(X1,Y1,3)
05100		CALL PLOT(X2,Y2,2)
05200	3	CONTINUE
05300		GO TO 2
05400	C   GENERATE AND PLOT MASK LINES
05500	13	ILINES=LINES
05600		I=(ILINES/8-TICS/2-SPACE/2)
05700		ANG= I*RESO/1000
05800		CS= COS(ANG)
05900		SN= SIN(ANG)
06000		X1= (RAD-(2.5*TICSIZ))*CS*200
06100		Y1= (RAD-(2.5*TICSIZ))*SN*200
06200		X2=(RAD-TICSIZ)*CS*200
06300		Y2=(RAD-TICSIZ)*SN*200
06400		CALL PLOT(X1,Y1,3)
06500		CALL PLOT(X2,Y2,2)
06600		DO 33 I=(ILINES/8-TICS-SPACE/2),(ILINES/8-SPACE/2-1)
06700		ANG=I*RESO/1000
06800		CS=COS(ANG)
06900		SN=SIN(ANG)
07000		X1=(RAD-TICSIZ)*CS*200
07100		Y1=(RAD-TICSIZ)*SN*200
07200		X2=RAD*CS*200
07300		Y2=RAD*SN*200
07400		CALL PLOT(X1,Y1,3)
07500		CALL PLOT(X2,Y2,2)
07600	33	CONTINUE
07700		DO 34 I=(ILINES/8+SPACE/2),(ILINES/8+SPACE/2+TICS-1)
07800		ANG=(I+.25)*RESO/1000
07900		CS=COS(ANG)
08000		SN=SIN(ANG)
08100		X1=(RAD-TICSIZ)*CS*200
08200		Y1=(RAD-TICSIZ)*SN*200
08300		X2=RAD*CS*200
08400		Y2=RAD*SN*200
08500		CALL PLOT (X1,Y1,3)
08600		CALL PLOT (X2,Y2,2)
08700	34	CONTINUE
08800	2	CALL PLOT(0,0,3)
08900		GO TO 1
09000	10	FORMAT(' RADIUS='$)
09100	11	FORMAT(' TICSIZE='$)
09200	12	FORMAT(' LINES='$)
09300	15	FORMAT(F)
09400	9	FORMAT(' TACH(1),MASK(0),END(-1)  '$)
09500	14	FORMAT (' NUMBER OF TICS='$)
09600	16	FORMAT(I)
09700	17	FORMAT (' SPACING OF GRIDS='$)
09800	4	END